#ifndef MEASUREMENT_H
#define MEASUREMENT_H

#include <Unit.h>
#include <string>
#include <PrintFormat.h>


struct Measurement
{
  Measurement(int amount, const Unit& unit);

  bool operator == (const Measurement& measurement) const;
  bool operator != (const Measurement& measurement) const;
  Measurement operator + (const Measurement& measurement) const;

  const std::string getAndPrint(const PrintFormat& format) const;

private:
  int getAmountInBaseUnit() const;

private:
  int amount;
  const Unit& unit;
};

#endif
